package ar.com.fiuba.ElectronicCircuitAnalyst.domain.api;

import java.util.List;

/**
 * An output of a {@link Component}.
 * 
 * Every {@link Output} has a {@link LogicalFunction} which evaluates to a boolean
 * based on the values of the Component inputs.
 */
public interface Output {

	/**
	 * Set the value of the output based on the value of the inputs
	 * @param inputs a list with the values of the input leads.
	 */
	public void setOutput(List<Boolean> inputs);
	
	/**
	 * @return a list with the output leads of this component
	 */
	public Lead getOutputLead();
	
}
